package com.ruoyi.system.apiService;

import com.ruoyi.common.apiResult.ApiRe;
import com.ruoyi.system.domain.ZsyyOrder;
import com.ruoyi.system.dto.OrderProductListDTO;

import java.util.Map;

//订单服务/order
public interface OrderService {
	public ApiRe orderAliPay(String orderNo, long userId) throws Exception;

	/*
	 *    微信订单支付
	 * @Author gongchengbing
	 * @Date  2020/6/10 0010 16:54
	 * @Param [orderNo, userId]
	 * @return com.nantu.appapi.common.ApiRe
	 */
	public ApiRe wxPrepay(String orderNo, Long userId)  ;

	/*
	 *    提交订单
	 * @Author gongchengbing
	 * @Date  2020/6/10 0010 16:53
	 * @Param [productId, adressId, userId]
	 * @return com.nantu.appapi.common.ApiRe
	 */
//    public ApiRe submitOrder(long productId,long addressId,long userId)  ;

	public ApiRe submitOrder(OrderProductListDTO order, long userId)  ;

	/*
	 *    订单详情
	 * @Author gongchengbing
	 * @Date  2020/6/10 0010 17:03
	 * @Param [orderId, userId]
	 * @return com.nantu.appapi.common.ApiRe
	 */
	public ApiRe getOrderDetail(long orderId, Long userId)  ;
	/*
	 *    订单列表
	 * @Author gongchengbing
	 * @Date  2020/6/10 0010 17:10
	 * @Param [type, userId]
	 * @return com.nantu.appapi.common.ApiRe
	 */
	public ApiRe getOrderList(int type,int pageNo,int pageSize, Long userId)  ;

	/*
	 *    取消订单
	 * @Author gongchengbing
	 * @Date  2020/6/10 0010 19:06
	 * @Param [orderId, userId]
	 * @return com.nantu.appapi.common.ApiRe
	 */
	public ApiRe cancalOrder(long orderId, Long userId)  ;

	/*
	 *    订单支付回调
	 * @Author gongchengbing
	 * @Date  2020/6/11 0011 10:05
	 * @Param [updateOrder]
	 * @return java.lang.String
	 */
	public String payNotfyUpdate(ZsyyOrder updateOrder);
	//余额支付
	public ApiRe balancePay(String orderNo, long userId) ;

	public ApiRe findFeeOrderList(int status,int pageNo,int pageSize, Long userId)  ;
	public ApiRe etcPay(String orderNo, Map params);
}
